home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
DEV
/
A-B
/
607+gest.cpt
/
Gestalt.h
next >
Wrap
Text File
|
1990-10-17
|
9KB
|
285 lines
/*
* Gestalt.h for system 6.0.6
*
* Copyright (c) 1990 Symantec Corporation. All rights reserved.
*
* These interfaces are based on material copyrighted
* by Apple Computer, Inc., 1985-1990.
*
* Written 10/9/90 MYG based on the MPW Gestaltequ.h of 6-14-90
*
* Revised 10/16/90 MYG Fixed some TYPEO's
*/
#ifndef _Gestalt_
#define _Gestalt_
#ifndef _MacTypes_
#include <MacTypes.h>
#endif /* _MacTypes_ */
pascal OSErr Gestalt( OSType selector, long *response );
pascal OSErr NewGestalt( OSType selector, ProcPtr gestaltFunction );
pascal OSErr ReplaceGestalt( OSType selector, ProcPtr gestaltFunction,
ProcPtr *oldGestaltFunction);
/************************
* Gestalt error codes
************************/
enum {
gestaltLocationErr = -5553, /* gestalt function ptr wasn't in sysheap */
gestaltDupSelectorErr, /* tried to add an entry that already existed */
gestaltUndefSelectorErr, /* undefined selector was passed to Gestalt */
gestaltUnknownErr /* value returned if Gestalt doesn't know the answer */
};
/**************************
* Environment Selectors
**************************/
#define gestaltVersion 'vers' /* gestalt version */
#define gestaltAddressingModeAttr 'addr' /* addressing mode attributes */
enum {
gestalt32BitAddressing,
gestalt32BitSysZone,
gestalt32BitCapable
};
#define gestaltAliasMgrAttr 'alis' /* Alias Mgr Attributes */
#define gestaltAliasMgrPresent 0 /* True if the Alias Mgr is present */
#define gestaltAppleTalkVersion 'atlk' /* appletalk version */
#define gestaltAUXVersion 'a/ux' /* a/ux version, if present */
#define gestaltConnMgrAttr 'conn' /* connection mgr attributes */
enum {
gestaltConnMgrPresent,
gestaltConnMgrErrorString,
gestaltConnMgrCMSearchFix = 3
};
#define gestaltCRMAttr 'crm ' /* comm resource mgr attributes */
#define gestaltCRMPresent 0
#define gestaltCTBManagers 'ctbm' /* bitmask of which managers are present */
#define gestaltCTBUtilsAttr 'ctbu' /* CommToolbox utilities attributes */
#define gestaltCTBUtilsPresent 0
#define gestaltCTBVersion 'ctbv' /* CommToolbox version */
#define gestaltDBAccessMgrAttr 'dbac' /* Database Access Mgr attributes */
#define gestaltDBAccessMgrPresent 0 /* True if Database Access Mgr present */
#define gestaltEditionMgrAttr 'edtn' /* Edition Mgr attributes */
#define gestaltEditionMgrPresent 0 /* True if Edition Mgr present */
#define gestaltAppleEventsAttr 'evnt' /* Apple Events attributes */
#define gestaltAppleEventsPresent 0 /* True if Apple Events present */
#define gestaltFolderMgrAttr 'fold' /* Folder Mgr attributes */
#define gestaltFolderMgrPresent 0 /* True if Folder Mgr present */
#define gestaltFontMgrAttr 'font' /* Font Mgr attributes */
#define gestaltOutlineFonts 0 /* True if Outline Fonts supported */
#define gestaltFPUType 'fpu ' /* fpu type */
enum {
gestaltNoFPU,
gestalt68881,
gestalt68882,
gestalt68040FPU
};
#define gestaltFXfrMgrAttr 'fxfr' /* file transfer manager attributes */
#define gestaltFXfrMgrPresent 0
#define gestaltFXfrMgrErrorString 1
#define gestaltHardwareAttr 'hdwr' /* hardware attributes */
enum {
gestaltHasVIA1,
gestaltHasVIA2,
gestaltHasASC = 3,
gestaltHasSCC,
gestaltHasSCSI = 7
};
#define gestaltHelpMgrAttr 'help' /* Help Mgr Attributes */
#define gestaltHelpMgrPresent 0 /* true if help mgr is present */
enum {
gestaltKeyboardType = 1,
gestaltMacKbd,
gestaltMacAndPad,
gestaltMacPlusKbd,
gestaltExtADBKbd,
gestaltStdADBKbd,
gestaltPrtblADBKbd,
gestaltPrtblISOKbd,
gestaltStdISOADBKbd,
gestaltElmerKbd,
gestaltElmerISOKbd
};
#define gestaltKeyboardType 'kbd ' /* keyboard type */
#define gestaltLowMemorySize 'lmem' /* size of low memory area */
#define gestaltLogicalRAMSize 'lram' /* logical ram size */
#define gestaltMiscAttr 'misc' /* miscellaneous attributes */
#define gestaltScrollingThrottle 0 /* true if scrolling throttle on */
#define gestaltMMUType 'mmu ' /* mmu type */
enum {
gestaltNoMMU,
gestaltAMU,
gestalt68851,
gestalt68030MMU,
gestalt68040MMU
};
#define gestaltStdNBPAttr 'nlup' /* standard nbp attributes */
#define gestaltStdNBPPresent 0
#define gestaltNotificationMgrAttr 'nmgr' /* notification manager attributes */
#define gestaltNotificationPresent 0 /* notification manager exists */
#define gestaltOSAttr 'os ' /* o/s attributes */
enum {
gestaltSysZoneGrowable,
gestaltLaunchCanReturn,
gestaltLaunchFullFileSpec,
gestaltLaunchControl,
gestaltTempMemSupport,
gestaltRealTempMemory,
gestaltTempMemTracked,
gestaltIPCSupport,
gestaltSysDebuggerSupport
};
#define gestaltLogicalPageSize 'pgsz' /* logical page size */
#define gestaltPowerMgrAttr 'powr' /* power manager attributes */
enum {
gestaltPMgrExists,
gestaltPMgrCPUIdle,
gestaltPMgrSCC,
gestaltPMgrSound
};
#define gestaltPPCToolboxAttr 'ppc ' /* PPC toolbox attributes */
/*
* PPC will return the combination of following bit fields.
* e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncomming + gestaltPPCSupportsOutGoing
* indicates PPC is cuurently is only supports real time delivery
* and both icoming and outgoing network sessions are allowed.
* By default local real time delivery is supported as long as PPCInit has been called.
*/
enum {
gestaltPPCToolboxPresent,
gestaltPPCSupportsIncomming,
gestaltPPCSupportsOutGoing,
gestaltPPCSupportsRealTime = 0X1000,
gestaltPPCSupportsStoreAndForward = 0X2000,
gestaltPPCSupportsDontCare = 0x4000
};
#define gestaltProcessorType 'proc' /* processor type */
enum {
gestalt68000 = 1,
gestalt68010,
gestalt68020,
gestalt68030,
gestalt68040
};
#define gestaltParityAttr 'prty' /* parity attributes */
#define gestaltHasParityCapability 0 /* has ability to check parity */
#define gestaltParityEnabled 1 /* parity checking enabled */
#define gestaltQuickdrawVersion 'qd ' /* quickdraw version */
#define gestaltOriginalQD 0x000 /* original 1-bit QD <3.2> */
#define gestalt8BitQD 0x100 /* 8-bit color QD <3.2> */
#define gestalt32BitQD 0x200 /* 32-bit color QD <3.2> */
#define gestaltPhysicalRAMSize 'ram ' /* physical RAM size */
#define gestaltPopupAttr 'pop!' /* popup cdef attributes */
#define gestaltPopupPresent 0
#define gestaltResourceMgrAttr 'rsrc' /* Resource Mgr attributes */
#define gestaltPartialRsrcs 0 /* True if partial resources exist */
#define gestaltScriptMgrVersion 'scri' /* Script Manager version number <08/05/89 pke> */
#define gestaltScriptCount 'scr#' /* number of active script systems <08/05/89 pke> */
#define gestaltSoundAttr 'snd ' /* sound attributes */
enum {
gestaltStereoCapability,
gestaltStereoMixing,
gestaltSoundIOMgrPresent = 3,
gestaltSoundInputPresent
};
#define gestaltStandardFileAttr 'stdf' /* Standard File attributes */
#define gestaltStandardFile58 0 /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
#define gestaltTextEditVersion 'te ' /* TextEdit version number <08/05/89 pke> */
enum {
gestaltTE1 = 1, /* TextEdit in MacIIci ROM <8Aug89smb> */
gestaltTE2, /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb> */
gestaltTE3, /* TextEdit with 6.0.4 Script Systems all but MacIIci <8Aug89smb> */
gestaltTE4 /* TextEdit in Big Bang <8Aug89smb> */
};
#define gestaltTermMgrAttr 'term' /* terminal mgr attributes */
#define gestaltTermMgrPresent 0
#define gestaltTermMgrErrorString 1
#define gestaltTimeMgrVersion 'tmgr' /* time mgr version */
#define gestaltStandardTimeMgr 1 /* standard time mgr is present */
#define gestaltRevisedTimeMgr 2 /* revised time mgr is present */
#define gestaltExtendedTimeMgr 3 /* extended time mgr is present */
#define gestaltVMAttr 'vm ' /* virtual memory attributes */
#define gestaltVMPresent 0 /* true if virtual memory is present */
/*************************
* Info-only selectors
************************/
#define gestaltMachineType 'mach' /* machine type */
enum {
gestaltClassic = 1,
gestaltMacXL,
gestaltMac512KE,
gestaltMacPlus,
gestaltMacSE,
gestaltMacII,
gestaltMacIIx,
gestaltMacIIcx,
gestaltMacSE030,
gestaltPortable,
gestaltMacIIci,
gestaltMacIIfx = 13
};
#define gestaltMachineIcon 'micn' /* machine icon */
#define gestaltROMSize 'rom ' /* rom size */
#define gestaltROMVersion 'romv' /* rom version */
#define gestaltSystemVersion 'sysv' /* system version*/
#endif